草庐IT

iOS 8 testflight beta 推送通知 token

全部标签

c++ - 重新执行失败的 IO 操作是否有任何效果?

我在办公室遇到的一个常见模式是,如果我们的IO操作失败,我们会等待很短的时间并重试几次,希望它突然开始工作。我正在谈论的例子:boolWriteAFile(){uint32_twriteAttempts=0;do{if(WriteFile(/*...*/)){break;}Sleep(50);writeAttempts++;}while(writeAttempts我想象这种行为最初是为了防止在处理被另一个进程临时锁定的文件时出现故障......这在某种程度上是有道理的......但是,我看不出这如何适用于其他操作。以这种方式重复IO操作是否会增加将“好”数据写入磁盘的机会?可以将其用作

windows - Hook Win32 API 事件以在桌面完全加载时收到通知

想象一个场景,当用户登录并且没有注销切换到另一个用户时。然后切换回来。当切换回来时(因为我们从未退出),Windows将首先显示黑色桌面,然后进行一些窗口闪烁(尤其是有2个显示器),最后将所有内容重新安排到我们离开的状态。闪烁和重新排列需要一些时间(大约1秒)。获取有关桌面已完全加载的通知的最有效方法是什么?我需要这个,因为我想在桌面完全加载时调用我的特定功能。一个选项是Hook到WM_PAINT,但我使用了Spy++,我在桌面上得到了12个WM_PAINT事件,所以这并不可靠。有人知道另一种方法吗? 最佳答案 找到了一个简单得多的

windows - 为什么另一个线程中的阻塞 IO 会阻止 CreateWindowEx() 返回

我有一个非常简单的Windows控制台应用程序,它首先创建一个线程来处理stdin上的输入。它使用main()中的CreateThread()创建线程,线程做的第一件事是调用getchar()并阻塞,等待。然后main()使用RegisterClass()注册一个窗口类,并调用CreateWindowEx()创建一个不可见的消息窗口。但是CreateWindowEx()永远不会返回。如果我删除线程中的getchar()并将其替换为while(1)Sleep(1000);,一切正常。如果我将Sleep(1000);添加到线程函数的开头,CreateWindowEx()调用会成功,但随后线

c# - 在 Window Phone 8.1 中从服务器接收到原始推送通知后执行某些功能

即使应用程序未运行,我也想在收到推送通知时执行自己的功能。并且用户不需要点击操作栏中的通知。在BackgroundTask.cs中,我有以下代码片段:namespaceBackgroundTasks{publicsealedclassSampleBackgroundTask:IBackgroundTask{publicvoidRun(IBackgroundTaskInstancetaskInstance){ApplicationDataContainersettings=ApplicationData.Current.LocalSettings;stringtaskName=taskI

windows - 在 WP 8.1 上解析推送

我正在使用ionic/cordova构建一个应用程序,我选择了Parse来处理推送通知。它适用于iOS和Anrdoid,但不适用于WP8.1。我知道8.1没有被Parse正式支持。无论如何我仍然可以使用它吗?就像我可以自己编写的C#插件一样?我可以为WP8.1使用任何其他推送服务吗?可能使用RESTAPI? 最佳答案 我不熟悉Parse,但您说RESTAPI会很好。在这种情况下,最简单的方法是Azure移动服务。根据推送通知的数量,移动服务和通知中心甚至是免费的。这是你必须做的:创建一个免费的Azure帐户创建移动服务(我使用的是.

windows - 重叠套接字 IO : WSAGetOverlappedResult Fails with 996 Errorcode

我正在维护一个旧的Windows应用程序并且有一个我无法解决的问题。在新硬件上,在各种操作系统下,我们开始看到过去非常稳定的地方从未见过的错误。它打开一个UDP套接字并将其配置为广播UDP数据。然后它会传输数据。该代码使用重叠IO,因此它有一个线程在等待重叠IO事件的线程中等待。套接字是这样打开的://Createdatagramsocketif(!SocketDgCreate(&m_SDGScan,pstAppState->szScannerIP,(short)nPort)){StatusMessage(MSG_ERR,"socketcreatefailedon'%s'Port%u\

windows - Gitlab 私有(private)项目接受任何人的推送

我认为我在配置本地git时犯了一个错误,但我在任何地方都看不到任何东西。这让我非常害怕,因为它允许使用这台计算机的任何人完全访问我所有的个人项目。我希望我只是做错了什么,并且可以安全地修复它。这是发生了什么:我使用我的根帐户(meperso@dot.com)通过浏览器登录我个人的GitLabgitlab.somewhere.com。(v8.5.5)我创建了一个新项目“bundle”并将其设置为私有(private)。我在工作(Windows7,以me.pro身份登录),但决定检查克隆和推送的项目权限。令人惊讶的是,克隆过程(通过https)完成了,预期的消息是“您的git存储库似乎是空

windows - 有什么方法可以使用 IOCP 通知套接字何时可读/可写?

当套接字变得可读/可写(即下一个发送/接收将立即完成)时,我正在寻找某种方法在I/O完成端口上获取信号。基本上我想要一个重叠版本的WSASelect。(是的,我知道对于许多应用程序来说,这是不必要的,您可以继续发出重叠的send调用。但在其他应用程序中,您希望延迟生成要发送的消息,直到最后一次可能的时刻,如e.g.here所讨论。在这些情况下,执行以下操作很有用:(a)等待套接字可写,(b)生成下一条消息,(c)发送下一条消息。)到目前为止,我能想到的最好的解决方案是生成一个线程来调用select,然后调用PostQueuedCompletionStatus,这很糟糕而且不是特别好可扩

c# - OneSignal 推送通知 ClickEvent 显示空值 Windows Phone 8.1 C#

我正在为WindowsPhone8.1开发OneSignalPushNotifications。通知工作正常。但是当我点击通知时,消息显示空值。而当应用程序打开时,则在事件中显示消息。如何获取通知文本以保存在我的通知屏幕中?我的App.Xaml.cs函数代码在这里。OnLaunched事件:OneSignal.Init("32cdee4b-7838-4b6c-a024-ae25cecb2234",e);OneSignal.Init("32cdee4b-7838-4b6c-a024-ae25cecb2234",e,notificationOpened);这里是notificationOp

windows - 未解析的外部符号 _png_init_io 在函数 _pixReadStreamPng 中引用

在Windows7下,我已经下载并解压了leptonica.zip,然后按照以下步骤(为了成功运行Cmake):cdleptonicamkdirbuildcdbuildsetPATH=%PATH%;C:\OCR\additionalLibs\zlib-1.2.8\build\Debug;C:\OCR\additionalLibs\zlib-1.2.8\build;C:\OCR\additionalLibs\zlib-1.2.8setPATH=%PATH%;C:\OCR\additionalLibs\lpng143;C:\OCR\additionalLibs\lpng143\build\